<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=l.0">
    <title>Document</title>
    <link rel="stylesheet" href="./index.css">
</head>

<body>
    <hl>hello GIT</hl>

    <ol>
        <li><span> git init </span>| 初始化git仓库</li>
        <li><span> git status </span>| 查看状态</li>
        <li><span> git add 文件名或. </span>| 将文件添加到暂存区</li>
        <li><span> git commit -m"提交说明” </span>| 将暂存区中的文件提交到仓库</li>
        <li><span> git checkout -文件名 </span>| 将文件恢复成仓库中最新版本</li>
        <li><span> git reset HEAD 文件名 </span>| 将文件从暂存区移出</li>
        <li><span> git commit -a -m "提交说明” </span>| 直接将工作区中已修改的文件提交到仓库</li>
        <li><span> git rm -f 文件名 </span>| 将某个文件同时从工作区及仓库中删除</li>
        <li><span> git rm --cached 文件名 </span>| 将某个文件从仓库中删除，但工作区中仍然保留</li>
        <li><span> git log </span>| 查看提交历史记录(只显示当前版本及更早的版本记录)</li>
        <li><span> git log --pretty=oneline </span>| 查看提交历史记录且将每条记录一行显示</li>
        <li><span> git reflog </span>| 查看提交历史记录(显示所有版本记录)</li>
        <li><span> git reset --hard 版本号 </span>| 回退到某个特定版本</li>
    </ol>

    <h2>远程仓库相关操作</h2>

    <ol>
        <li><span> git remote add origin 远程仓库地址 </span>| 将远程仓库与本地仓库关联起来</li>
        <li><span> git remote remove origin </span>| 移除本地仓库与远程仓库的关联</li>
        <li><span> git push -u origin master </span>| 将本地仓库推送到远程仓库(第一次)</li>
        <li><span> git push </span>| 将最新的本地仓库版本同步到远程仓库</li>
    </ol>

    <h2>密钥</h2>

    <h4>SSH key由两部分组成，分别是：</h4>

    <p>① id_rsa（私钥文件，存放于客户端的电脑中即可）</p>
    <p>② id_rsa.pub（公钥文件，需要配置到 Github 中）</p>

    <h4>生成 SSH key</h4>

    <p>① 打开 Git Bash</p>
    <p>② 粘贴如下的命令，并将 your_email@example.com 替换为注册 码云 账号时填写的邮箱：</p>
    ssh-keygen -t rsa -b 4096 -C "15596393289"
    <p>③ 连续敲击 3 次回车，即可在 C:\Users\用户名文件夹\.ssh 目录中生成 id_rsa 和 id_rsa.pub 两个文件</p>

    <h4>配置 SSH key</h4>

    <p>① 使用记事本打开 id_rsa.pub 文件，复制里面的文本内容</p>
    <p>② 在浏览器中登录 Github ，点击头像 -> 我的 -> 设置 -> SSH公钥</p>
    <p>③ 将 id_rsa.pub 文件中的内容，粘贴到 Key 对应的文本框中</p>
    <p>④ 在 Title 文本框中任意填写一个名称，来标识这个 Key 从何而来</p>

    <h4>检测 Github 的 SSH key 是否配置成功</h4>

    <p>① 打开 Git Bash ，输入如下的命令并回车执行: ssh -T git@github.com</p>
    <p>② 输入 yes 之后已经配置成功了</p>

    <h2>分支</h2>
    <ol>
        <li><span>git branch </span>| 查看分支</li>
        <li><span>git branch 分支名称 </span>| 创建新分支</li>
        <li><span>git checkout 分支名称 </span>| 切换分支</li>
        <li><span>git checkout -b 分支名称</span>| 创建并切换分支</li>
        <li>

            <h5>合并分支:</h5>

            <p>① 切换到 master 分支<span>git checkout master</span></p>
            <p>② 在master 分支上运行 git merge 命令，将 login 分支的代码合班到 master 分支<span>git merge login</span></p>
            <p>③ 当把功能分支的代码合并到 `master` 主分支上以后，就可以使用如下的命令，删除对应的功能分支：<span>git branch -d 分支名称</span></p>
        </li>
        <li><span>git branch -d 分支名称</span> | 删除分支</li>
        <li><span>git push -u origin 分支名称</span> | 把本地分支推送到云端分支</li>
        <li><span>git remote show origin</span> | 查看远程仓库所有分支</li>
        <li>

            <h3>跟踪分支</h3>

            <h5>跟踪分支指的是：从远程仓库中，把远程分支下载到本地仓库中。</h5>
            <p>(1) <span>git checkout pay</span>从远程仓库中，把远程分支下载到本地仓库中</p>
            <p>① <span>git checkout -b 本地分支 origin/远程分支名称</span> | 从远程仓库中，把对应的远程分支下载到本地仓库，并把下载的本地分支进行重命名</p>


        </li>
        <li><span>git pull</span> | 从远程仓库，拉取当前分支最新的代码,保持当前分支的代码和远程分支代码一致</li>
        <li><span>git push origin --delete 远程分支名称</span> | 删除远程仓库中的分支</li>
        
        <h2>要掌握的</h2>

        <img src="./imgs/需要掌握的.png" alt="">
    </ol>
</body>

</html>